As the Internet gains in popularity it is desirable to allow broadcasts of live media, such as a television program or radio program, over the Internet. However, a problem with such “streaming media” broadcasts is that they require very high data transfer rates across many servers, routers and local area networks that form the Internet. Because of this, high-quality, scalable broadcasts, or “multicasts,” of streaming media information to massive numbers of end-users at once over the Internet have not been achieved to date.
Examples of attempts to design and deploy multicast systems for the Internet include systems by RealNetworks and Broadcast.com. RealNetworks has built an Internet broadcast infrastructure called the Real Broadcast Network (RBN) while Broadcast.com has partnered with Internet Service Providers (ISPs) and content providers to build a broadcast system based on native Internet multicast routing. A typical streaming broadcast consists of a server that unicasts a User Datagram Protocol (UDP) flow to each requesting client. Bandwidth is managed very crudely by simply limiting the number of simultaneous active flows via some simple configuration hook at the server. While this approach works for today's demands, it wastes network bandwidth and cannot scale to very large audiences anticipated in the future.
Although some existing products (like NetShow and Cisco's IP/TV) support multicast, Internet Service Providers (ISPs) and enterprise network managers have been slow to adopt multicast because it is difficult to configure, manage, and debug. For some companies, these deployment problems are crucial barriers because they view multicast as critical for their long-term viability and feel that failure to successfully integrate multicast could compromise their mission.
A successful Internet broadcast system depends on its ability to broadcast audio and video programming to a large number of simultaneous users. Two approaches for broadcasting streaming media are replicated unicast (one user per stream) and multicasting (multiple users per stream).
While unicast delivery has enjoyed tremendous success as the fundamental building block of the Internet, multicast has proven far more complex and many technical barriers remain that prevent multicast from being deployed across the wide area. Despite a decade of research and development, interdomain multicast routing has yet to be successfully realized and there are many reasons to believe that multicast, in its present form, may never be universally deployed throughout the Internet. In this case, applications that assume ubiquitous multicast connectivity to attain scalable performance will never become feasible. On the other hand, multicast, when restricted to a singly administered network domain, has been much easier to configure and manage, and for this reason, has been a resounding success in isolated deployments. That is, it's easy to build an isolated multicast “cloud” as long as it doesn't span multiple administrative domains and involve highly heterogeneous equipment with different multicast implementations.
While uniform and homogeneous multicast clouds can effectively carry multicast traffic that is isolated to LANs or autonomous corporate networks, a wide range of compelling applications, such as streaming media broadcasts, are potentially enabled by interconnecting the isolated multicast clouds into a very large-scale distribution network. However, attempts to use wide area multicast routing protocols to solve this problem have failed. Another problem with interconnecting multicast clouds has been lack of control over the multicast traffic from domain to domain. This implicates not only bandwidth considerations, but security issues as well.
Thus it is desirable to complement and enhance the vast array of existing servers and end-clients with a state-of-the-art system that provides an improved network infrastructure for achieving multicasting of information. Such a system should enhance existing digital audio/video/media applications and enable them to work more effectively at large scale and across heterogeneous environments. The system should provide flexible bandwidth management and diagnostic tools to network managers such as by providing localized control over traffic and content of multicast data. The system should make use of existing, widely deployed communication protocols and procedures to achieve efficient transfer of information.